home *** CD-ROM | disk | FTP | other *** search
/ Halting the Hacker - A P…uide to Computer Security / Halting the Hacker - A Practical Guide to Computer Security.iso / rfc / rfc1369.txt < prev    next >
Text File  |  1997-04-01  |  14KB  |  395 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                      F. Kastenholz
  8. Request for Comments: 1369                                  FTP Software
  9.                                                             October 1992
  10.  
  11.  
  12.                   Implementation Notes and Experience for
  13.                          The Internet Ethernet MIB
  14.  
  15. Status of this Memo
  16.  
  17.    This memo provides information for the Internet community.  It does
  18.    not specify an Internet standard.  Distribution of this memo is
  19.    unlimited.
  20.  
  21. Table of Contents
  22.  
  23.    1. Introduction ................................................    1
  24.    2. Observations ................................................    2
  25.    3. Conclusions .................................................    3
  26.    4. Final Action ................................................    4
  27.    5. Implementation Data .........................................    5
  28.    6. Security Considerations .....................................    7
  29.    7. Author's Address ............................................    7
  30.  
  31. 1.  Introduction
  32.  
  33.    The Ethernet MIB Working group has been tasked with the following two
  34.    work items:
  35.  
  36.    1)  Develop a document explaining the rationale for assigning
  37.        MANDATORY status to MIB variables which are optional in
  38.        the relevant IEEE 802.3 specification (the technical
  39.        basis for the Internet Ethernet MIB). This shall not be a
  40.        standards-track document.
  41.  
  42.    (2) Develop an implementation report on the Ethernet MIB.
  43.        This report shall cover MIB variables which are
  44.        implemented in both Ethernet interface chips, and in
  45.        software (i.e., drivers), and discuss the issues
  46.        pertaining to both.  This report shall also summarize
  47.        field experience with the MIB variables, especially
  48.        concentrating on those variables which are in dispute.
  49.        This document shall not be a standards-track document.
  50.        While the Ethernet MIB is progressing through the
  51.        standardization process, this document shall be
  52.        periodically updated to reflect the latest implementation
  53.        and operational experience.
  54.  
  55.  
  56.  
  57.  
  58. Kastenholz                                                      [Page 1]
  59.  
  60. RFC 1369              Ethernet MIB Implementations          October 1992
  61.  
  62.  
  63.    This document reflects the currently known status of 11 different
  64.    implementations of the MIB by 7 different vendors on 7 different
  65.    Ethernet interface chips.
  66.  
  67. 2.  Observations
  68.  
  69.    There are some interesting points to be noted from this information:
  70.  
  71.    1)  Only 4 variables are actually implemented in all
  72.        implementations: AlignmentErrors, FCSErrors,
  73.        ExcessiveCollisions and InternalMacTransmitErrors.
  74.  
  75.    2)  There were another five variables implemented in all but
  76.        one of the reported implementations,
  77.        SingleCollisionFrames, MultipleCollisionFrames,
  78.        LateCollisions, FrameTooLongs, and CarrierSenseErrors.
  79.  
  80.        Three of these variables exist in implementations that
  81.        use the same chip as the implementation that does not
  82.        contain the variable.  Specifically:
  83.  
  84.     A)   SingleCollisionFrames is not implemented in
  85.          implementation number 3, which uses the AMD LANCE.
  86.          However, other AMD LANCE implementations (7, 8, and 10)
  87.          do implement the variable, implying that it is
  88.          available on the LANCE.
  89.  
  90.     B)   MultipleCollisionFrames is not implemented in
  91.          implementation number 3, which uses the AMD LANCE.
  92.          However, other AMD LANCE implementations (7, 8, and 10)
  93.          do implement the variable, implying that it is
  94.          available on the LANCE.
  95.  
  96.     C)   LateCollisions is not implemented in implementation
  97.          number 1, which uses the Intel 82586. However, another
  98.          Intel 82586 based implementation (11) does implement
  99.          the variable, implying that it is available on the
  100.          Intel 82586.
  101.  
  102.     D)   CarrierSenseErrors is not implemented on implementation
  103.          number 2, which is based on the Fujitsu 86950 chip.
  104.          However, there is only one implementation based on this
  105.          chip and I have not been able to locate a data sheet on
  106.          this part so no conclusion can be drawn at this time.
  107.  
  108.     E)   FrameTooLongs is not implemented on implementation
  109.          number 5, which is based on the National NIC 8390 chip.
  110.          However, there is only one implementation based on this
  111.  
  112.  
  113.  
  114. Kastenholz                                                      [Page 2]
  115.  
  116. RFC 1369              Ethernet MIB Implementations          October 1992
  117.  
  118.  
  119.          chip and I have not been able to locate a data sheet on
  120.          this part. It should also be noted that this variable
  121.          is easily maintained by software as a "driver-level"
  122.          function.
  123.  
  124.    (3)  Of the 22 variables in the MIB, 11, or 1/2 of the
  125.         variables, were implemented in about 1/2 or less of the
  126.         implementations.
  127.  
  128.    4)   The number of variables implemented per implementation
  129.         ranges from a low of 11 to a high of 16. The average
  130.         number of variables truly implemented is 12.8.
  131.  
  132.    5)   The IEEE 802.3 encapsulation-specific variables
  133.         (InRangeLengthErrors, and OutOfRangeLengthFields) are in
  134.         2 and 0 implementations respectively.
  135.  
  136. 3.  Conclusions
  137.  
  138.    From this, the author concludes that:
  139.  
  140.    The control variables (IntializeMAC, etc.) are not widely
  141.    implemented, but this may be due to an aversion to implementing
  142.    writable variables until security is in place.
  143.  
  144.    One vendor has stated that the reason that these variables were not
  145.    implemented was that the vendor did not believe the variables to be
  146.    useful, and that they were hard to implement.  Furthermore, this
  147.    vendor has recommended dropping the variables entirely.
  148.  
  149.    The two IEEE 802.3 encapsulation variables (InRangeLengthErrors and
  150.    OutOfRangeLengthFields) are barely implemented. In Santa Fe, the
  151.    Working group discussed moving them to an optional, 802.3 specific,
  152.    group. The author believes that this is justified by this
  153.    implementation data.
  154.  
  155.    The collision histogram variables are also barely implemented.  They
  156.    should be in their own optional group -- and they are.
  157.  
  158.    Of the remaining 13 statistical variables, 9 of them are in 10 or 11
  159.    implementations. This is good.
  160.  
  161.    Two of them (SQETestErrors and ExcessiveDeferrals) are in 3 and 1
  162.    implementations, respectively. This is bad.
  163.  
  164.    The remaining variables (DeferredTransmissions and
  165.    InternalMacReceiveErrors) are in 8 or 9 implementations.
  166.  
  167.  
  168.  
  169.  
  170. Kastenholz                                                      [Page 3]
  171.  
  172. RFC 1369              Ethernet MIB Implementations          October 1992
  173.  
  174.  
  175.    It should be noted that one of the two systems that do not implement
  176.    DeferredTransmissions is based on the AMD LANCE, and other AMD LANCE
  177.    based systems do implement this counter, leading to the conclusion
  178.    that DeferredTransmissions could easily be on all but one of the
  179.    implementations.
  180.  
  181.    The other such variable, InternalMacReceiveErrors, is a general
  182.    catchall for all other errors. If no other errors are detected by the
  183.    hardware or software then returning 0 for the counter is perfectly
  184.    acceptable.
  185.  
  186.    This all seems to imply either:
  187.  
  188.    1)  Splitting the statistics group into two groups, one of
  189.        which is optional and contains SQETestErrors and
  190.        ExcessiveDeferrals, or
  191.  
  192.    2)  Eliminating SQETestErrors and ExcessiveDeferrals) from
  193.        the MIB.
  194.  
  195.    The variables with 8 or 9 implementations are a bit more problematic.
  196.    They are implemented in more than 2/3s of the implementations, but it
  197.    may not be appropriate to call this widespread implementation.
  198.    However, it seems to be safe to conclude that the non-implementations
  199.    of these variables is due to local implementation considerations
  200.    rather than a fundamental lack of support for the variable.
  201.  
  202. 4.  Final Action
  203.  
  204.    After consideration at the San Diego IETF Meeting on 17 March 1992,
  205.    the Ethernet MIB Working Group made the following recommendations:
  206.  
  207.    1)  The dot3TestTdrValue object will be deprecated from the
  208.        standard mib.  There are effectively no implementations
  209.        of this object, and some chips were reported to return an
  210.        incorrect value for the TDR count.
  211.  
  212.    2)  The dot3StatsInRangeLengthErrors object and the
  213.        dot3StatsOutOfRangeLengthFields object will be deprecated
  214.        from the MIB. These objects were not widely implemented
  215.        and their utility in diagnosing network problems was
  216.        strongly questioned.
  217.  
  218.    3)  The dot3InitializeMac object, the dot3MacSubLayerStatus
  219.        object, the dot3MulticastReceiveStatus object, and the
  220.        dot3TxEnabled object will be deprecated from the MIB.
  221.        These objects were not widely implemented and their
  222.        utility in diagnosing network problems was strongly
  223.  
  224.  
  225.  
  226. Kastenholz                                                      [Page 4]
  227.  
  228. RFC 1369              Ethernet MIB Implementations          October 1992
  229.  
  230.  
  231.        questioned.
  232.  
  233.    4)  The dot3StatsExcessiveDeferrals object will be deprecated
  234.        from the MIB.  Only one system implemented this object.
  235.        Furthermore, its exact definition was called into question.
  236.  
  237.    5)  The dot3StatsSQETestErrors object received few
  238.        implementations.  However, the working group strongly
  239.        supported its retention in the MIB on the basis that
  240.        certain forms of transceiver and cable errors that are
  241.        not uncommon can only be detected with this counter.
  242.  
  243.    6)  The collision histogram table (dot3CollTable) will be
  244.        kept as an optional group, even though the objects are
  245.        not widely implemented nor is there hardware support on
  246.        all reported chips.
  247.  
  248. 5.  Implementation Data
  249.  
  250.    The following raw data has been provided by vendors, each developing
  251.    an implementation of the Ethernet MIB.  Each reported implementation
  252.    has a separate column in the following table. For each
  253.    implementation/MIB Variable, a single character code has been entered
  254.    indicating the rough implementation status of the variable.  These
  255.    codes are:
  256.  
  257.    Y    Fully implemented, reports a truthful count, or
  258.         indication of state. All values may be written to the
  259.         variable with the expected action occurring.
  260.  
  261.    N    Not implemented at all. Would return a noSuchName error
  262.         if accessed.
  263.  
  264.    C    Implemented but returns a constant value for gets and
  265.         returns a badValue error for any set attempt to set the
  266.         variable to a value other than this constant (writable
  267.         variables only).
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Kastenholz                                                      [Page 5]
  283.  
  284. RFC 1369              Ethernet MIB Implementations          October 1992
  285.  
  286.  
  287.                          MIB           Implementation
  288.                     Variable 1  2  3  4  5  6  7  8  9  10 11 Yesses
  289.  
  290.                InitializeMac C  C  Y  Y  Y  Y  Y  C7 C7 N  Y   6
  291.            MacSubLayerStatus C  C  Y  Y  Y  Y  Y  C7 C7 N  C   5
  292.       MulticastReceiveStatus C  C  Y  C3 Y  C  C  C7 C7 N  C   2
  293.                    TxEnabled C  C  Y  Y  Y  Y  Y  C7 C7 N  C   5
  294.                 TestTdrValue C  1  C  C4 C  C  C  C4 C4 N  C   1
  295.  
  296.              AlignmentErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
  297.                    FCSErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
  298.        SingleCollisionFrames Y  Y  Y  N  Y  Y  Y  Y  Y  Y  Y  10
  299.      MultipleCollisionFrames Y  Y  Y  N  Y  Y  Y  Y  Y  Y  Y  10
  300.                SQETestErrors Y  C  C  C  Y  C  C  C  C  Y  C   3
  301.        DeferredTransmissions Y  C  Y  N  Y  Y  Y  Y  Y  Y  Y   9
  302.               LateCollisions C  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  10
  303.          ExcessiveCollisions Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
  304.    InternalMacTransmitErrors Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  Y  11
  305.           CarrierSenseErrors Y  C  Y  Y  Y  Y  Y  Y  Y  Y  Y  10
  306.           ExcessiveDeferrals C  C  Y  C  C  C  C  C  C  N  C   1
  307.                FrameTooLongs Y  Y2 Y  Y  C  Y  Y  Y  Y  Y  Y  10
  308.          InRangeLengthErrors C  C  C  N5 C  Y  Y  C  C  N  C   2
  309.       OutOfRangeLengthFields C  C  C  C6 C  C  C  C  C  N  C   0
  310.     InternalMacReceiveErrors Y  Y  Y  Y  Y  C  C  Y  Y  Y  C   8
  311.  
  312.                    CollCount Y  Y  C  N  N  N  N  C  C  N  Y   3
  313.              CollFrequencies Y  Y  C  N  N  N  N  C  C  N  Y   3
  314.                       Yesses 13 11 16 11 15 14 14 11 11 12 13
  315.  
  316.  
  317.    Notes:
  318.  
  319.    1    does not implement TDR test, but reports TDR from last
  320.         collision!
  321.  
  322.    2    Not supported by the chip, detected solely in software.
  323.  
  324.    3    But set to disabled(2) -> badValue
  325.  
  326.    4    Underlying TDR function not implemented on this chip.
  327.  
  328.    5    Only counts frames too short though.
  329.  
  330.    6    Due to Ethernet encapsulation
  331.  
  332.    7    Implementation does not support set operations but
  333.         reports the correct value for these.
  334.  
  335.  
  336.  
  337.  
  338. Kastenholz                                                      [Page 6]
  339.  
  340. RFC 1369              Ethernet MIB Implementations          October 1992
  341.  
  342.  
  343.    The implementations are:
  344.  
  345.             Implementation   Vendor   Chip
  346.                          1   1        Intel 82586
  347.                          2   1        Fujitsu 86950
  348.                          3   2        Sonic
  349.                          4   3        AMD Lance
  350.                          5   4        National NIC 8390C
  351.                          6   4        Intel 82596
  352.                          7   4        AMD Lance
  353.                          8   5        AMD Lance
  354.                          9   5        AMD ILACC
  355.                         10   6        AMD Lance
  356.                         11   7        Intel 82586
  357.  
  358. 6. Security Considerations
  359.  
  360.    Security issues are not discussed in this memo.
  361.  
  362. 7. Author's Address
  363.  
  364.    Frank J. Kastenholz
  365.    FTP Software
  366.    2 High Street
  367.    North Andover Mass 01845
  368.  
  369.    Phone:  508-685-4000
  370.    EMail:  kasten@ftp.com
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Kastenholz                                                      [Page 7]
  395.